gtk4.git
7 years agotooltip: Stop using gdk_surface_get_user_data
Matthias Clasen [Sat, 23 Feb 2019 21:55:20 +0000 (16:55 -0500)]
tooltip: Stop using gdk_surface_get_user_data

Use gtk_root_get_for_surface instead.

7 years agomain: Stop using gdk_surface_get_user_data
Matthias Clasen [Sat, 23 Feb 2019 21:53:19 +0000 (16:53 -0500)]
main: Stop using gdk_surface_get_user_data

Use gtk_root_get_for_surface instead.

7 years agoxim: Stop using gdk_surface_get_user_data
Matthias Clasen [Sat, 23 Feb 2019 21:52:51 +0000 (16:52 -0500)]
xim: Stop using gdk_surface_get_user_data

Use gtk_root_get_for_surface instead.

7 years agoime: Stop using gdk_surface_get_user_data
Matthias Clasen [Sat, 23 Feb 2019 21:52:23 +0000 (16:52 -0500)]
ime: Stop using gdk_surface_get_user_data

Use gtk_root_get_for_surface instead.

7 years agoAdd gtk_root_get_for_surface
Matthias Clasen [Sat, 23 Feb 2019 21:27:21 +0000 (16:27 -0500)]
Add gtk_root_get_for_surface

This is a replacement for gdk_surface_get_user_data.

7 years agoa11y tests: Update output for entries
Matthias Clasen [Sun, 24 Feb 2019 03:23:42 +0000 (22:23 -0500)]
a11y tests: Update output for entries

7 years agofixup: warn about nothing events
Matthias Clasen [Sun, 24 Feb 2019 02:24:00 +0000 (21:24 -0500)]
fixup: warn about nothing events

7 years agoinspector: Make picking work again
Matthias Clasen [Sat, 23 Feb 2019 23:23:42 +0000 (18:23 -0500)]
inspector: Make picking work again

This was broken by the change in 01f7f255b5 which
caused the inspector to not get any events anymore.
Revert that part, even though it may be technically
correct.

7 years agoQuietly ignore GDK_NOTHING events
Matthias Clasen [Sat, 23 Feb 2019 22:06:28 +0000 (17:06 -0500)]
Quietly ignore GDK_NOTHING events

These don't have a surface, so we can't deliver
them via the ::event signal. But then, they're
good for nothing anyway.

7 years agodocs: Refresh the "Q & A" part
Matthias Clasen [Sat, 23 Feb 2019 21:07:07 +0000 (16:07 -0500)]
docs: Refresh the "Q & A" part

Remove references to long-gone API, add some pointers
to more modern alternatives, etc.

7 years agogdk: Document surface signals
Matthias Clasen [Sat, 23 Feb 2019 20:31:22 +0000 (15:31 -0500)]
gdk: Document surface signals

At least a little bit.

7 years agoMerge branch 'drawing-model-refresh' into 'master'
Matthias Clasen [Sat, 23 Feb 2019 21:05:35 +0000 (21:05 +0000)]
Merge branch 'drawing-model-refresh' into 'master'

doc: Rewrite the drawing model overview

See merge request GNOME/gtk!603

7 years agodoc: Rewrite the drawing model overview
Matthias Clasen [Sat, 23 Feb 2019 17:51:35 +0000 (12:51 -0500)]
doc: Rewrite the drawing model overview

This is a first cut at updating the drawing model chapter
for the way we do things now. It introduces the scene graph and
render nodes, explains node caching and tree diffing, and removes
sections about subwindows.

7 years agoMerge branch 'event-signal' into 'master'
Benjamin Otte [Sat, 23 Feb 2019 19:33:51 +0000 (19:33 +0000)]
Merge branch 'event-signal' into 'master'

Drop gdk_event_handler_set

See merge request GNOME/gtk!604

7 years agoDrop gdk_event_handler_set
Matthias Clasen [Sat, 23 Feb 2019 18:56:51 +0000 (13:56 -0500)]
Drop gdk_event_handler_set

This is no longer used by GTK.

7 years agoDrop some dead code
Matthias Clasen [Sat, 23 Feb 2019 18:56:07 +0000 (13:56 -0500)]
Drop some dead code

There were some internal uses of GdkEventFunc. Thankfully,
they were unused, so lets just drop them.

7 years agoStop using gdk_event_handler_set
Matthias Clasen [Sat, 23 Feb 2019 18:51:54 +0000 (13:51 -0500)]
Stop using gdk_event_handler_set

We no longer need it.

7 years agowidget: Connect to GdkSurface::event
Matthias Clasen [Sat, 23 Feb 2019 18:49:28 +0000 (13:49 -0500)]
widget: Connect to GdkSurface::event

This lets us handle input events the same way
we do expose events.

7 years agosurface: Introduce an ::event signal
Matthias Clasen [Sat, 23 Feb 2019 18:45:10 +0000 (13:45 -0500)]
surface: Introduce an ::event signal

This will eventually replace the event handler
as the method to get events over the gdk/gtk
boundary.

7 years agoMerge branch 'kill-hierarchy-changed' into 'master'
Matthias Clasen [Sat, 23 Feb 2019 16:01:16 +0000 (16:01 +0000)]
Merge branch 'kill-hierarchy-changed' into 'master'

Kill hierarchy changed

See merge request GNOME/gtk!601

7 years agoDocument that root and unroot must chain up
Matthias Clasen [Sat, 23 Feb 2019 14:19:14 +0000 (09:19 -0500)]
Document that root and unroot must chain up

I overlooked this at first.

7 years agoDrop the anchored field
Matthias Clasen [Sat, 23 Feb 2019 06:38:14 +0000 (01:38 -0500)]
Drop the anchored field

We can just change priv->root instead.

7 years agowidget: Drop ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 06:13:13 +0000 (01:13 -0500)]
widget: Drop ::hierarchy-changed

It is no longer used and has been replaced by the
root and unroot vfuncs.

7 years agogtk-demo: Stop using ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 06:12:43 +0000 (01:12 -0500)]
gtk-demo: Stop using ::hierarchy-changed

We can use root and unroot instead.

7 years agomenu bar: Stop using ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 06:06:57 +0000 (01:06 -0500)]
menu bar: Stop using ::hierarchy-changed

Use the root and unroot vfuncs instead.

7 years agolabel: Stop using ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 06:03:23 +0000 (01:03 -0500)]
label: Stop using ::hierarchy-changed

Use the new root and unroot vfuncs instead.

7 years agoheader bar: Stop using ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 06:02:55 +0000 (01:02 -0500)]
header bar: Stop using ::hierarchy-changed

Use the root and unroot vfuncs instead.

7 years agofile chooser: Stop using ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 06:02:25 +0000 (01:02 -0500)]
file chooser: Stop using ::hierarchy-changed

Use the root and unroot vfuncs instead.

7 years agopopover: Stop using ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 05:48:06 +0000 (00:48 -0500)]
popover: Stop using ::hierarchy-changed

Use notify::root instead.

7 years agotext handle: Stop using ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 05:46:44 +0000 (00:46 -0500)]
text handle: Stop using ::hierarchy-changed

Use notify::root instead.

7 years agoxim: Stop using ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 05:32:19 +0000 (00:32 -0500)]
xim: Stop using ::hierarchy-changed

Use notify::root instead.

7 years agoime: Stop using ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 05:31:10 +0000 (00:31 -0500)]
ime: Stop using ::hierarchy-changed

We don't need it at all here.

7 years agodrag dest: Stop using ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 05:30:32 +0000 (00:30 -0500)]
drag dest: Stop using ::hierarchy-changed

Use notify::root instead.

7 years agoinspector: Stop using ::hierarchy-changed
Matthias Clasen [Sat, 23 Feb 2019 05:29:52 +0000 (00:29 -0500)]
inspector: Stop using ::hierarchy-changed

Use the new root and unroot vfuncs instead.

7 years agogl renderer: Round size up when rendering to a texture
Timm Bäder [Sat, 23 Feb 2019 03:50:25 +0000 (04:50 +0100)]
gl renderer: Round size up when rendering to a texture

Both the clip we use and the viewport we set should contain the entire
texture size and not potentially clip the last pixel.

7 years agotreeview: Don't assume search widget is a GtkEntry
Timm Bäder [Sat, 23 Feb 2019 03:41:42 +0000 (04:41 +0100)]
treeview: Don't assume search widget is a GtkEntry

Maybe it's a GtkText!

7 years agoMerge branch 'wip/fanc999/meson.msvc' into 'master'
Chun-wei Fan [Sat, 23 Feb 2019 02:13:35 +0000 (02:13 +0000)]
Merge branch 'wip/fanc999/meson.msvc' into 'master'

GTK+ 4: Improve Windows/Visual Studio build experience

See merge request GNOME/gtk!185

7 years agowidget: Remove ::event leftovers
Matthias Clasen [Sat, 23 Feb 2019 01:06:06 +0000 (20:06 -0500)]
widget: Remove ::event leftovers

The signal is long gone, no need for this unused
vfunc anymore.

7 years agosearch/password entry: Prevent expand leaks
Matthias Clasen [Fri, 22 Feb 2019 20:55:05 +0000 (15:55 -0500)]
search/password entry: Prevent expand leaks

We don't want the entry to expand, we just want
the text to expand inside the box, so explicitly
unset expand flags on the box.

7 years agosearch entry: Use a GtkEntryAccessible
Matthias Clasen [Fri, 22 Feb 2019 20:50:45 +0000 (15:50 -0500)]
search entry: Use a GtkEntryAccessible

This preserves the status quo of a11y support
for entry variations.

7 years agoentry accessible: Make work with almost-entries
Matthias Clasen [Fri, 22 Feb 2019 20:49:47 +0000 (15:49 -0500)]
entry accessible: Make work with almost-entries

This is not perfect, but gives a quick way to have
an accessible that can be used for password and
search entries.

7 years agosearch entry: Don't force-create the accessible
Matthias Clasen [Fri, 22 Feb 2019 19:12:52 +0000 (14:12 -0500)]
search entry: Don't force-create the accessible

We can just set the accessible name when the
accessible is actually needed.

7 years agoinspector: Fix an uninitialized value warning
Timm Bäder [Fri, 22 Feb 2019 18:22:58 +0000 (19:22 +0100)]
inspector: Fix an uninitialized value warning

7 years agogl renderer: Use the matrix node category
Timm Bäder [Fri, 22 Feb 2019 17:10:27 +0000 (18:10 +0100)]
gl renderer: Use the matrix node category

7 years agoUpdate Italian translation
Milo Casagrande [Fri, 22 Feb 2019 11:05:55 +0000 (11:05 +0000)]
Update Italian translation

7 years agoUpdate Italian translation
Milo Casagrande [Fri, 22 Feb 2019 11:05:21 +0000 (11:05 +0000)]
Update Italian translation

7 years agoMerge branch 'overlay-cleanup' into 'master'
Matthias Clasen [Fri, 22 Feb 2019 03:38:20 +0000 (03:38 +0000)]
Merge branch 'overlay-cleanup' into 'master'

Overlay cleanup

See merge request GNOME/gtk!600

7 years agoUpdate migration guide for pass-through
Matthias Clasen [Fri, 22 Feb 2019 03:07:39 +0000 (22:07 -0500)]
Update migration guide for pass-through

7 years agooverlay: Remove gtk_overlay_set_overlay_pass_through
Matthias Clasen [Fri, 22 Feb 2019 02:57:43 +0000 (21:57 -0500)]
overlay: Remove gtk_overlay_set_overlay_pass_through

gtk_overlay_set_overlay_pass_through has been made
redundant by gtk_widget_set_can_pick. Remove it.

7 years agogtk-demo: Use gtk_widget_set_can_pick
Matthias Clasen [Fri, 22 Feb 2019 02:55:56 +0000 (21:55 -0500)]
gtk-demo: Use gtk_widget_set_can_pick

Use gtk_widget_set_can_pick instead of
overlay-specific functions with the same purpose.

7 years agotestoverlay: Use gtk_widget_set_can_pick
Matthias Clasen [Fri, 22 Feb 2019 02:55:05 +0000 (21:55 -0500)]
testoverlay: Use gtk_widget_set_can_pick

Use gtk_widget_set_can_pick instead of the
overlay-specific api with the same purpose.

7 years agoMake gtk_widget_set/get_can_pick public
Matthias Clasen [Fri, 22 Feb 2019 02:53:34 +0000 (21:53 -0500)]
Make gtk_widget_set/get_can_pick public

This is a generally useful property to make widgets
'transparent' for input purposes.

7 years agoremove tests that no longer work
Matthias Clasen [Fri, 22 Feb 2019 00:45:56 +0000 (19:45 -0500)]
remove tests that no longer work

7 years agooverlay: Drop the index child property
Matthias Clasen [Fri, 22 Feb 2019 00:43:33 +0000 (19:43 -0500)]
overlay: Drop the index child property

And don't allow reordering children.

7 years agooverlay: Drop the blur support
Matthias Clasen [Fri, 22 Feb 2019 00:39:42 +0000 (19:39 -0500)]
overlay: Drop the blur support

This was really just a demo of what gsk can do.
It can be done with public api, and has been moved
to gtk-demo.

7 years agogtk-demo: Fix the decorative overlay example
Matthias Clasen [Fri, 22 Feb 2019 00:38:58 +0000 (19:38 -0500)]
gtk-demo: Fix the decorative overlay example

The decorations are appearing as 16x16, which is not
the intention. Use a GtkPicture instead.

7 years agogtk-demo: Move the blur demo code here
Matthias Clasen [Fri, 22 Feb 2019 00:27:41 +0000 (19:27 -0500)]
gtk-demo: Move the blur demo code here

We want to remove this from the GtkOverlay code.

7 years agoAnd another keybinding leftover
Benjamin Otte [Thu, 21 Feb 2019 23:07:35 +0000 (00:07 +0100)]
And another keybinding leftover

7 years agoMore css key bindings removal
Matthias Clasen [Thu, 21 Feb 2019 22:36:29 +0000 (17:36 -0500)]
More css key bindings removal

One more :(

7 years agomore css keybinding removal
Matthias Clasen [Thu, 21 Feb 2019 22:22:25 +0000 (17:22 -0500)]
more css keybinding removal

7 years agodocs: Fix typo
Benjamin Otte [Thu, 21 Feb 2019 22:00:36 +0000 (23:00 +0100)]
docs: Fix typo

:(

7 years agoRemove support for -gtk-key-bindings: css property
Benjamin Otte [Thu, 21 Feb 2019 20:48:50 +0000 (21:48 +0100)]
Remove support for -gtk-key-bindings: css property

This is no longer used.

7 years agodocs: Use the same name in different files
Benjamin Otte [Thu, 21 Feb 2019 19:42:38 +0000 (20:42 +0100)]
docs: Use the same name in different files

Otherwise gtk-doc gets confused.

7 years agoRemove docs for css keybindings
Matthias Clasen [Thu, 21 Feb 2019 18:56:07 +0000 (13:56 -0500)]
Remove docs for css keybindings

This functionality has been removed.

7 years agoRemove support for -gtk-key-bindings: css property
Matthias Clasen [Thu, 21 Feb 2019 18:55:28 +0000 (13:55 -0500)]
Remove support for -gtk-key-bindings: css property

This is no longer used.

7 years agoAdd & use GTK_CSS_AFFECTS_TRANSFORM
Timm Bäder [Wed, 23 Jan 2019 16:42:03 +0000 (17:42 +0100)]
Add & use GTK_CSS_AFFECTS_TRANSFORM

This avoids invalidating the size of all widgets when updating CSS
transforms.

In theory, we don't even have to allocate the widget itself, because we
didn't change its size. But we have no way to track that.

7 years agowidget: Apply CSS transform in gtk_widget_allocate()
Timm Bäder [Sat, 19 Jan 2019 08:01:02 +0000 (09:01 +0100)]
widget: Apply CSS transform in gtk_widget_allocate()

7 years agocss: Add transform style property
Timm Bäder [Sat, 19 Jan 2019 07:53:08 +0000 (08:53 +0100)]
css: Add transform style property

7 years agocsstransform: Create a GtkTransform
Benjamin Otte [Thu, 21 Feb 2019 05:27:30 +0000 (06:27 +0100)]
csstransform: Create a GtkTransform

Stop creating graphene_matrix_t's.

7 years agosnapshot: Remove the old APIs
Benjamin Otte [Thu, 21 Feb 2019 04:24:11 +0000 (05:24 +0100)]
snapshot: Remove the old APIs

It's all using transforms now.

7 years agolayoutoverlay: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
layoutoverlay: Use new snapshot transforms

7 years agofpsoverlay: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
fpsoverlay: Use new snapshot transforms

7 years agowidgetpaintable: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
widgetpaintable: Use new snapshot transforms

7 years agowidget: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
widget: Use new snapshot transforms

7 years agotreeview: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
treeview: Use new snapshot transforms

7 years agotextview: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
textview: Use new snapshot transforms

7 years agostylecontext: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
stylecontext: Use new snapshot transforms

7 years agostack: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
stack: Use new snapshot transforms

7 years agoscaler: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
scaler: Use new snapshot transforms

7 years agorendernodepaintable: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
rendernodepaintable: Use new snapshot transforms

7 years agorendericon: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
rendericon: Use new snapshot transforms

7 years agorenderbackground: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
renderbackground: Use new snapshot transforms

7 years agopicture: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
picture: Use new snapshot transforms

7 years agomagnifier: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
magnifier: Use new snapshot transforms

7 years agoimage: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
image: Use new snapshot transforms

7 years agoiconview: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
iconview: Use new snapshot transforms

7 years agoiconhelper: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
iconhelper: Use new snapshot transforms

7 years agocellrenderertoggle: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
cellrenderertoggle: Use new snapshot transforms

7 years agocellrendererpixbuf: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
cellrendererpixbuf: Use new snapshot transforms

7 years agocalendar: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
calendar: Use new snapshot transforms

7 years agopuzzlepiece: Use new snapshot transforms
Benjamin Otte [Thu, 21 Feb 2019 04:34:12 +0000 (05:34 +0100)]
puzzlepiece: Use new snapshot transforms

7 years agosnapshot: Introduce transform APIs
Benjamin Otte [Thu, 21 Feb 2019 03:24:24 +0000 (04:24 +0100)]
snapshot: Introduce transform APIs

Instead of gtk_snapshot_offset(), provide a full set of functions
kept in sync with GtkTransform APIs.

On top of that, add gtk_snapshot_save() and gtk_snapshot_restore()
mirroring cairo_save()/restore() that allow saving a snapshot's
transform state.

7 years agosnapshot: Remove gtk_snapshot_get_offset()
Benjamin Otte [Thu, 21 Feb 2019 02:28:12 +0000 (03:28 +0100)]
snapshot: Remove gtk_snapshot_get_offset()

We use append() functions for everything now, thank you very much.

7 years agosnapshot: Add functions to append shadows
Benjamin Otte [Thu, 21 Feb 2019 02:26:03 +0000 (03:26 +0100)]
snapshot: Add functions to append shadows

7 years agosnapshot: Refactor text rendering
Benjamin Otte [Thu, 21 Feb 2019 02:07:14 +0000 (03:07 +0100)]
snapshot: Refactor text rendering

The code didn't change, it was just shuffled around to make the
with_bounds() versions of the text rendering unnecessary and instead
pass through the generic append_node() path.

7 years agosnapshot: Add gtk_snapshot_append_border()
Benjamin Otte [Thu, 21 Feb 2019 01:11:13 +0000 (02:11 +0100)]
snapshot: Add gtk_snapshot_append_border()

This is adding functions for the remaining render nodes.

7 years agosnapshot: Store an actual GtkTransform
Benjamin Otte [Thu, 21 Feb 2019 00:54:01 +0000 (01:54 +0100)]
snapshot: Store an actual GtkTransform

Instead of just tracking 2 integer translate_x/y coordinates, tracka a
full GtkTransform.

When creating actual nodes, if the transform is simple enough, just
create the node in a way that makes use of the transform. If the
node, can't represent the transform, just push a transform node instead
and automatically pop that node with the next gtk_snapshot_pop() call.

7 years agosnapshot: Remove dead code
Benjamin Otte [Wed, 20 Feb 2019 23:12:42 +0000 (00:12 +0100)]
snapshot: Remove dead code

Seems to be leftovers from way too long ago.

7 years agogsk: Remove offset nodes
Benjamin Otte [Wed, 20 Feb 2019 02:02:23 +0000 (03:02 +0100)]
gsk: Remove offset nodes

They were a neat idea while they lasted. But now, it's time for
categorized transform nodes, where matrices with
GSK_MATRIX_CATEGORY_2D_TRANSLATE are the exact replacement.

Renderers have not been adapted for this purpose, so they (continue to)
run slow paths.

7 years agowidget: Store category of widget transform
Benjamin Otte [Tue, 19 Feb 2019 07:24:59 +0000 (08:24 +0100)]
widget: Store category of widget transform

And pass that category through to the transform node that we create for
it.